package cn.stylefeng.guns.modular.productfunction.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.productfunction.entity.ShiProductFunction;
import cn.stylefeng.guns.modular.productfunction.model.params.ShiProductFunctionParam;
import cn.stylefeng.guns.modular.productfunction.model.result.ShiProductFunctionResult;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *   产品功能表
 * @author 石博士
 * @since 2019-07-05
 */
public interface ShiProductFunctionService extends IService<ShiProductFunction> {

    /**
     * 新增
     *
     * @author 石博士
     * @Date 2019-07-05
     */
    void add(ShiProductFunctionParam param);

    /**
     * 删除
     *
     * @author 石博士
     * @Date 2019-07-05
     */
    void delete(ShiProductFunctionParam param);

    /**
     * 更新
     *
     * @author 石博士
     * @Date 2019-07-05
     */
    void update(ShiProductFunctionParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author 石博士
     * @Date 2019-07-05
     */
    ShiProductFunctionResult findBySpec(ShiProductFunctionParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author 石博士
     * @Date 2019-07-05
     */
    List<ShiProductFunctionResult> findListBySpec(ShiProductFunctionParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author 石博士
     * @Date 2019-07-05
     */
     LayuiPageInfo findPageBySpec(ShiProductFunctionParam param);


     ShiProductFunctionResult edit(@Param("id") String id);



    /**
     * 使用左连接查询所有的功能对比数据
     */
    List<ShiProductFunctionResult> ProductFunctionList();




}
